package com.grupobbva.iici.session;

import java.math.BigDecimal;
import java.rmi.RemoteException;
import java.util.Vector;


import com.ibm.etools.service.locator.ServiceLocatorManager;
import com.grupobbva.iici.serializable.Corporativa;
import com.grupobbva.iici.serializable.Log;
import com.grupobbva.iici.serializable.Menu;
import com.grupobbva.iici.serializable.Oficina;
import com.grupobbva.iici.serializable.Perfil;
import com.grupobbva.iici.serializable.PermisoPerfil;
import com.grupobbva.iici.session.SessionMenuLocalHome;
import com.grupobbva.iici.session.SessionMenuLocal;

import com.grupobbva.iici.session.SessionPermisoPerfilLocalHome;
import com.grupobbva.iici.session.SessionPermisoPerfilLocal;

import com.grupobbva.iici.session.SessionPerfilLocalHome;
import com.grupobbva.iici.session.SessionPerfilLocal;

import com.grupobbva.iici.session.SessionCorporativaLocalHome;
import com.grupobbva.iici.session.SessionCorporativaLocal;

import org.omg.stub.javax.ejb.SessionLogHome;
import org.omg.stub.javax.ejb.SessionLog;

import org.omg.stub.javax.ejb.SessionOficinaLocalHome;
import org.omg.stub.javax.ejb.SessionOficinaLocal;

/**
 * Bean implementation class for Enterprise Bean: SessionService
 */
public class SessionServiceBean implements javax.ejb.SessionBean {
	private javax.ejb.SessionContext mySessionCtx;

	private final static String STATIC_SessionMenuLocalHome_REF_NAME = "ejb/SessionMenu";

	private final static Class STATIC_SessionMenuLocalHome_CLASS = SessionMenuLocalHome.class;

	private final static String STATIC_SessionPermisoPerfilLocalHome_REF_NAME = "ejb/SessionPermisoPerfil";

	private final static Class STATIC_SessionPermisoPerfilLocalHome_CLASS = SessionPermisoPerfilLocalHome.class;

	private final static String STATIC_SessionPerfilLocalHome_REF_NAME = "ejb/SessionPerfil";

	private final static Class STATIC_SessionPerfilLocalHome_CLASS = SessionPerfilLocalHome.class;

	private final static String STATIC_SessionCorporativaLocalHome_REF_NAME = "ejb/SessionCorporativa";

	private final static Class STATIC_SessionCorporativaLocalHome_CLASS = SessionCorporativaLocalHome.class;

	private final static String STATIC_SessionLogHome_REF_NAME = "ejb/SessionLog";

	private final static Class STATIC_SessionLogHome_CLASS = SessionLogHome.class;

	private final static String STATIC_SessionOficinaHome_REF_NAME = "ejb/SessionOficina";

	private final static String STATIC_SessionOficinaLocalHome_REF_NAME = "ejb/SessionOficina";

	private final static Class STATIC_SessionOficinaLocalHome_CLASS = SessionOficinaLocalHome.class;

	/**
	 * getSessionContext
	 */
	public javax.ejb.SessionContext getSessionContext() {
		return mySessionCtx;
	}

	/**
	 * setSessionContext
	 */
	public void setSessionContext(javax.ejb.SessionContext ctx) {
		mySessionCtx = ctx;
	}

	/**
	 * ejbCreate
	 */
	public void ejbCreate() throws javax.ejb.CreateException {
	}

	/**
	 * ejbActivate
	 */
	public void ejbActivate() {
	}

	/**
	 * ejbPassivate
	 */
	public void ejbPassivate() {
	}

	/**
	 * ejbRemove
	 */
	public void ejbRemove() {
	}

	/******************************************************************************
	 * : T. LOG 
	 * @throws RemoteException
	 */
	public boolean registraLog(Log datos) {
		SessionLog aSessionLog = createSessionLog();
		try {
			return aSessionLog.registraLog(datos);
		} catch (RemoteException e) {
			e.printStackTrace();
		}
		return false;

	}

	public Vector findAllLog(String fecIni, String fecFin, String codOficina) {
		SessionLog aSessionLog = createSessionLog();
		try {
			return aSessionLog.findAllLog(fecIni, fecFin, codOficina);
		} catch (RemoteException e) {
			e.printStackTrace();
		}
		return null;
	}

	/******************************************************************************
	 * findxCodPerfil :: T. MENU 
	 */
	public Vector findxCodPerfil(String codPerfil) {
		SessionMenuLocal aSessionMenuLocal = createSessionMenuLocal();
		return aSessionMenuLocal.findxCodPerfil(codPerfil);

	}

	public Vector findAllMenu() {
		SessionMenuLocal aSessionMenuLocal = createSessionMenuLocal();
		return aSessionMenuLocal.findAllMenu();

	}

	public boolean createMenu(Menu menu) {
		SessionMenuLocal aSessionMenuLocal = createSessionMenuLocal();
		return aSessionMenuLocal.createMenu(menu);

	}

	public boolean deleteMenu(java.math.BigDecimal padre) {
		SessionMenuLocal aSessionMenuLocal = createSessionMenuLocal();
		return aSessionMenuLocal.deleteMenu(padre);
	}

	public Menu findxIdMenu(java.math.BigDecimal padre) {
		SessionMenuLocal aSessionMenuLocal = createSessionMenuLocal();
		return aSessionMenuLocal.findxIdMenu(padre);
	}

	public boolean updateMenu(Menu menu) {
		SessionMenuLocal aSessionMenuLocal = createSessionMenuLocal();
		return aSessionMenuLocal.updateMenu(menu);
	}

	/******************************************************************************
	 * findPermisoPerfilxTipAccxValorRCP :: T. PERMISO PERFIL 
	 */

	public PermisoPerfil findPermisoPerfilxTipAccxValorRCP(String codReg,
			String codCat, String path) {
		SessionPermisoPerfilLocal aSessionPermisoPerfilLocal = createSessionPermisoPerfilLocal();
		return aSessionPermisoPerfilLocal.findPermisoPerfilxTipAccxValorRCP(
				codReg, codCat, path);

	}

	public Vector findAllPermisoPerfil(int flag) {
		SessionPermisoPerfilLocal aSessionPermisoPerfilLocal = createSessionPermisoPerfilLocal();
		return aSessionPermisoPerfilLocal.findAllPermisoPerfil(flag);
	}

	public boolean createPermisoPerfil(String codPerfil, BigDecimal tipoAcceso,
			String valorRCP) {
		SessionPermisoPerfilLocal aSessionPermisoPerfilLocal = createSessionPermisoPerfilLocal();
		return aSessionPermisoPerfilLocal.createPermisoPerfil(codPerfil,
				tipoAcceso, valorRCP);
	}

	public boolean deletePermisoPerfil(String codPerfil, BigDecimal tipoAcceso,
			String valorRCP) {
		SessionPermisoPerfilLocal aSessionPermisoPerfilLocal = createSessionPermisoPerfilLocal();
		return aSessionPermisoPerfilLocal.deletePermisoPerfil(codPerfil,
				tipoAcceso, valorRCP);
	}

	public PermisoPerfil findPermisoPerfilById(String codPerfil,
			BigDecimal tipoAcceso, String valorRCP) {
		SessionPermisoPerfilLocal aSessionPermisoPerfilLocal = createSessionPermisoPerfilLocal();
		return aSessionPermisoPerfilLocal.findPermisoPerfilById(codPerfil,
				tipoAcceso, valorRCP);

	}

	public boolean updatePermisoPerfil(String codPerfil, BigDecimal tipoAcceso,
			String valorRCP, String cp, BigDecimal ta, String vr) {
		SessionPermisoPerfilLocal aSessionPermisoPerfilLocal = createSessionPermisoPerfilLocal();
		return aSessionPermisoPerfilLocal.updatePermisoPerfil(codPerfil,
				tipoAcceso, valorRCP, cp, ta, vr);

	}

	/******************************************************************************
	 * findAllPerfil :: T. PERFIL 
	 */
	public Vector findAllPerfil(int flag) {
		SessionPerfilLocal aSessionPerfilLocal = createSessionPerfilLocal();
		return aSessionPerfilLocal.findAllPerfil(flag);
	}

	public Perfil findPerfil(String cod_perfil) {
		SessionPerfilLocal aSessionPerfilLocal = createSessionPerfilLocal();
		return aSessionPerfilLocal.findPerfil(cod_perfil);

	}

	public boolean updatePerfil(Perfil perfil) {
		SessionPerfilLocal aSessionPerfilLocal = createSessionPerfilLocal();
		return aSessionPerfilLocal.updatePerfil(perfil);
	}

	public boolean deletePerfil(String cod_perfil) {
		SessionPerfilLocal aSessionPerfilLocal = createSessionPerfilLocal();
		return aSessionPerfilLocal.deletePerfil(cod_perfil);
	}

	public boolean createPerfil(Perfil perfil) {
		SessionPerfilLocal aSessionPerfilLocal = createSessionPerfilLocal();
		return aSessionPerfilLocal.createPerfil(perfil);

	}

	/******************************************************************************
	 * findAllPerfil :: T. COORPORATIVA 
	 */
	public Corporativa findCorporativaBean(String cod_mult, String cod_ele) {
		SessionCorporativaLocal aSessionCorporativaLocal = createSessionCorporativaLocal();
		return aSessionCorporativaLocal.findCorporativaBean(cod_mult, cod_ele);
	}
	
	public Vector findByCodMulti(String codMulti) {
		SessionCorporativaLocal aSessionCorporativaLocal = createSessionCorporativaLocal();
		return aSessionCorporativaLocal.findByCodMulti(codMulti);

	}

	public boolean updateCorporativa(Corporativa corporativa) {
		SessionCorporativaLocal aSessionCorporativaLocal = createSessionCorporativaLocal();

		return aSessionCorporativaLocal.updateCorporativa(corporativa);

	}

	public Corporativa findByID(String id) {

		SessionCorporativaLocal aSessionCorporativaLocal = createSessionCorporativaLocal();
		return aSessionCorporativaLocal.findByID(id);
	}

	public boolean deleteCorporativa(Corporativa corporativa) {
		SessionCorporativaLocal aSessionCorporativaLocal = createSessionCorporativaLocal();
		return aSessionCorporativaLocal.deleteCorporativa(corporativa);

	}

	public boolean createCorporativa(Corporativa corporativa) {
		SessionCorporativaLocal aSessionCorporativaLocal = createSessionCorporativaLocal();
		return aSessionCorporativaLocal.createCorporativa(corporativa);
	}

	/******************************************************************************/
	public boolean createOficina(Oficina oficina) {
		SessionOficinaLocal aSessionOficinaLocal = createSessionOficinaLocal();
		return aSessionOficinaLocal.createOficina(oficina);
	}

	public boolean deleteOficina(String codOficina) {
		SessionOficinaLocal aSessionOficinaLocal = createSessionOficinaLocal();
		return aSessionOficinaLocal.deleteOficina(codOficina);
	}

	public boolean updateOficina(Oficina oficina) {
		SessionOficinaLocal aSessionOficinaLocal = createSessionOficinaLocal();
		return aSessionOficinaLocal.updateOficina(oficina);
	}

	public Vector findAllOficina() {
		SessionOficinaLocal aSessionOficinaLocal = createSessionOficinaLocal();
		return aSessionOficinaLocal.findAllOficina();
	}

	public Oficina findIdOficina(String codigoOficina) {
		SessionOficinaLocal aSessionOficinaLocal = createSessionOficinaLocal();
		return aSessionOficinaLocal.findIdOficina(codigoOficina);
	}
	
	
	/******************************************************************************/
	protected SessionMenuLocal createSessionMenuLocal() {
		SessionMenuLocalHome aSessionMenuLocalHome = (SessionMenuLocalHome) ServiceLocatorManager
				.getLocalHome(STATIC_SessionMenuLocalHome_REF_NAME,
						STATIC_SessionMenuLocalHome_CLASS);
		try {
			if (aSessionMenuLocalHome != null)
				return aSessionMenuLocalHome.create();
		} catch (javax.ejb.CreateException ce) {
			ce.printStackTrace();
		}
		return null;
	}
	protected SessionPermisoPerfilLocal createSessionPermisoPerfilLocal() {
		SessionPermisoPerfilLocalHome aSessionPermisoPerfilLocalHome = (SessionPermisoPerfilLocalHome) ServiceLocatorManager
				.getLocalHome(STATIC_SessionPermisoPerfilLocalHome_REF_NAME,
						STATIC_SessionPermisoPerfilLocalHome_CLASS);
		try {
			if (aSessionPermisoPerfilLocalHome != null)
				return aSessionPermisoPerfilLocalHome.create();
		} catch (javax.ejb.CreateException ce) {
			ce.printStackTrace();
		}
		return null;
	}
	protected SessionPerfilLocal createSessionPerfilLocal() {
		SessionPerfilLocalHome aSessionPerfilLocalHome = (SessionPerfilLocalHome) ServiceLocatorManager
				.getLocalHome(STATIC_SessionPerfilLocalHome_REF_NAME,
						STATIC_SessionPerfilLocalHome_CLASS);
		try {
			if (aSessionPerfilLocalHome != null)
				return aSessionPerfilLocalHome.create();
		} catch (javax.ejb.CreateException ce) {
			ce.printStackTrace();
		}
		return null;
	}
	protected SessionCorporativaLocal createSessionCorporativaLocal() {
		SessionCorporativaLocalHome aSessionCorporativaLocalHome = (SessionCorporativaLocalHome) ServiceLocatorManager
				.getLocalHome(STATIC_SessionCorporativaLocalHome_REF_NAME,
						STATIC_SessionCorporativaLocalHome_CLASS);
		try {
			if (aSessionCorporativaLocalHome != null)
				return aSessionCorporativaLocalHome.create();
		} catch (javax.ejb.CreateException ce) {
			ce.printStackTrace();
		}
		return null;
	}
	protected SessionLog createSessionLog() {
		SessionLogHome aSessionLogHome = (SessionLogHome) ServiceLocatorManager
				.getRemoteHome(STATIC_SessionLogHome_REF_NAME,
						STATIC_SessionLogHome_CLASS);
		try {
			if (aSessionLogHome != null)
				return aSessionLogHome.create();
		} catch (javax.ejb.CreateException ce) {
			ce.printStackTrace();
		} catch (RemoteException re) {
			re.printStackTrace();
		}
		return null;
	}

	protected SessionOficinaLocal createSessionOficinaLocal() {
		SessionOficinaLocalHome aSessionOficinaLocalHome = (SessionOficinaLocalHome) ServiceLocatorManager
				.getLocalHome(STATIC_SessionOficinaLocalHome_REF_NAME,
						STATIC_SessionOficinaLocalHome_CLASS);
		try {
			if (aSessionOficinaLocalHome != null)
				return aSessionOficinaLocalHome.create();
		} catch (javax.ejb.CreateException ce) {
			ce.printStackTrace();
		}
		return null;
	}
	
	
	
}
